leetcode maximum subarray sum

41

def approach3(nums):
    ans = nums[0]
    subarr_sum = nums[0]

    for i in range(1, len(nums)):
        subarr_sum = max(nums[i], nums[i] + subarr_sum)
        ans = max(ans, subarr_sum)

    return ans
class Solution {
public:
    int maxSubArray(vector<int>& nums) {
        int max_sum = INT_MIN;
        int sum = 0;

        for(int i = 0; i < nums.size(); i++){
           sum += nums[i];

            if(max_sum < sum){
                max_sum = sum;
            }

            if(sum < 0){
                sum = 0;
            }
        }

        return max_sum;
    }
};

Comments

Submit
0 Comments